#ifndef ASIGNADORDECAJA_H_
#define ASIGNADORDECAJA_H_
#include <vector>
#include "msgQueue/Cola.h"
#include "semaphore/Semaforo.h"
#include "Administrador.h"
#include "Empleado.h"
#include "Constantes.h"
#include "signal/SignalHandler.h"
#include "signal/SIGINT_Handler.h"
#include "MensajePeticionCaja.h"
using namespace std;

class AsignadorDeCaja : public Proceso {
private:
	vector<Empleado> empleados;
	Administrador admin;
	Semaforo semaforoUtilizandoCaja;
	Cola<MensajePeticionCaja> colaMensajesCaja;

public:
	AsignadorDeCaja(vector<Empleado>& empleados, Administrador& admin, bool logActivo);
	~AsignadorDeCaja();
	void run();
};

#endif /* ASIGNADORDECAJA_H_ */
